Dmitry Safonov

   
dmitry@dsafonov.com
(647) 388-3462
 

SKILLS SUMMARY

    Staff Engineer with a broad history of working in many industries using varied technologies including C#, Go, Java, Scala, Python, Perl, Ruby, PHP, JavaScript/TypeScript, C/C++, and associated frameworks, databases, operating systems. Deep experience in developing full-stack web applications, cloud-native applications & microservices, desktop applications, distributed computing & big data processing pipelines, DevOps infrastructure, and performant databases and datastores. Specialised experience in marketing analytics, and digital advertising. Professional interests include highly concurrent high throughput systems, analytics / data processing, and backend optimization. Studied Mathematics and Computer Science at the University of Waterloo.

WORK HISTORY

  • Senior Staff Engineer August 2024 - Present
    Staff Engineer, Owner.com, Palo Alto, CA (Remote) October 2023 - August 2024
    • Helping build and optimize platform & infrastructure
    • Reduced latency of web services by 3-5x, reduced runtime of builds by 2-5x, reduced AWS cost by 50% MoM
    • Reduced GCP API spend by 80%
    • Assisted with negotiating Cloudflare Enterprise contract, saving tens of thousands of dollars in avoidable spend
    • Rolled out Cloudflare for SaaS for onboarding customer hostnames, configured and maintain caching strategy, WAF, and bot protection, greatly reducing latency & bot traffic and improving QoS to customer properties on the platform
    • Designed and developed next version of POS (point-of-sale) integration with Clover, improving yearly retention for Clover-integrated customers from 65% to 90%
    • Working closely with teams across the org to develop maintainable, scalable architecture

  • Staff Engineer, GlossGenius, New York, NY (Remote) October 2021 - October 2023
    • Helped grow a platform for appointment management, marketing, scheduling and payments in the beauty & wellness industry
    • Led a 2-person team in migrating all core services from Heroku to AWS: infrastructure-as-code with CDK, container orchestration with Kubernetes (EKS), CI/CD automation for deploying to Kubernetes, integrated with Datadog, SSO with Google, horizontal and vertical auto-scaling, heterogeneous ARM/x86 cluster opportunistically using spot instances, with native on-cluster cross-platform builds, Secrets management and more
    • Jumped in to tackle SMS reliability issues: designed a provider-agnostic SMS service with observability, enhanced recordkeeping, and compliance built in; leveraged provider flexibility to enable SMS cost savings of $700K in the first year
    • Fixed low-level crashes, memory leaks, and instability across backend, web, and mobile properties that others struggled to debug
    • Technologies used: Ruby, Rails, Postgres, Node, Go, DynamoDB, TypeScript, AWS, CDK, Datadog, Kubernetes / EKS, nginx, CircleCI, Docker

  • Software Development Engineer II, Amazon, Toronto, ON March 2020 - October 2021
    • Worked on Reporting and Campaign Management, Funnel Optimization within Amazon Advertising to deliver rich full-funnel analytics and reporting for Self-Service Performance Advertising customers
    • Leveraged Apache Spark to deliver insights: created a collection of jobs, written in Scala, that combined knowledge from disparate teams & services in Data Lake into cohesive data products for customers
    • Optimized jobs to fit on and run efficiently on clusters with constrained resources, reducing cost; instrumented jobs with metrics and alarms, reducing risk
    • Designed and implemented web application/API and backend processing stacks end-to-end for the cloud on AWS, from dymamic resource templating with CDK to serverless functions with Lambda to operations and maintenance with CloudWatch
    • Technologies used: AWS including Elastic MapReduce / EMR (Spark, Hadoop, Hive), Glue, CloudWatch, Lambda, DynamoDB, Redshift, IAM, S3, CDK & CloudFormation among others. As well as: Java, Scala, Python, TypeScript, IntelliJ, macOS, Linux

  • Senior Software Engineer, Index Exchange, Toronto, ON May 2019 - March 2020
    • Worked on an Agile team to build features for a programmatic ad exchange, handling tens of billions requests per day
    • Implemented high-throughput highly concurrent endpoint for heterogeneous event notifications, revenue recording & audit
    • Leveraged OpenCensus, Prometheus, Telegraf, Kafka and InfluxDB to create rich customized real-time metrics and associated dashboards for service monitoring & analytics
    • Technologies used: Go, Perl, Docker, Ansible, Kafka, OpenCensus, Prometheus, Grafana, Telegraf, InfluxDB, Aerospike, JIRA, Git, CentOS

  • Programmer Analyst, Environics Analytics, Toronto, ON March 2016 - May 2019
    • Implemented SQLCLR toolkit for data analytics, leveraging a decoupled plugin / class loader design to allow users to expand toolkit without knowledge of internals
    • Worked on implementing various algorithms to spec for internal users
    • Implemented a simulated annealing solution to analytical problem; multi-threaded high-performance solution with 20x throughput over MATLAB proof of concept
    • Implemented geography linkage reconciliation algorithm; multi-threaded high-performance solution in 1hr instead of previous implementation's 35hr
    • Worked on bug fixes for C++ client/server application used for data analysis
    • Rebranded, upgraded, secured and deployed web-facing legacy ASP.NET sampling application obtained through acquisition
    • Implemented log aggregator, log parser and ASP.NET/ReactJS web application for display of logs and runtime statistics from disparate data sources
    • Technologies used: C#/.NET, C/C++, ASP.NET, ReactJS, SQL Server, Visual Studio, Team Foundation Server

  • Software Developer, Tucows, Toronto, ON November 2014 - March 2016
    • Worked on fixing time-sensitive issues for one of the world's largest domain registrars
    • Worked to create the backend for a new messaging system that allows a more streamlined, API-accessible experience for clients who want to customize their messages to customers through the OpenSRS platform
    • Architected and completely reworked how customer branding information is handled to make it flexible and easily extensible
    • Worked closely with other teams to assist with bug reports and other requests of the OpenSRS team
    • Technologies used: Perl, Catalyst, Linux (Debian), MySQL, Postgres, Oracle, HTML/CSS/JavaScript, Python, Django, Git

  • Software Developer, Uberflip, Toronto, ON April 2014 - September 2014
    • Effectively performed the role of "full-stack web developer" with LAMP stack
    • Build features for and fixed bugs in a SaaS Content Marketing Automation platform
    • Worked closely with front-end developers and designers to figure out the "look and feel" and UX of new features
    • Deployed applications to Apple App Store and Android Play Store
    • Technologies used: PHP, Linux (Debian), Eclipse, Perl, HTML/CSS/JavaScript, Xcode, SVN

  • Junior Programmer / Designer, Crawford Technologies Inc., Toronto, ON August 2012 - November 2013
    • Created sample applications for customers interested in using Crawford's high-level document conversion API
    • Wrote JNI marshalling code to expose Crawford's high-level document conversion API for customers using Java
    • Debugged crash bugs and other issues in the high-level document conversion API
    • Technologies used: C/C++, Java, C#/.NET, Python, Eclipse, Visual Studio, Visual SourceSafe

  • R&D Software Developer, Network Programming Lab, University of Waterloo, Waterloo, ON September 2011 - December 2011
    • Designed and implemented a backend to facilitate a cross-platform multimedia whiteboard
    • Designed and implemented prototype client application for iOS and Android devices
    • Technologies used: Xcode, Objective-C, Android SDK, Android Java, JBossAS, Enterprise Java, MySQL

  • Web Application Developer, Let's Play in Spanish, Campbell, CA May 2008 - December 2011
    • Worked extensively on extending an online school administration system to exactly meet client specifications, including online payments
    • Performing maintenance duties for e-business
    • Technologies used: PHP, MySQL, HTML/CSS/JS

  • Software Developer, TutorJam, Waterloo, ON September 2010 - December 2010
    • Developed features for and fixed bugs in an online eduction platform to a high standard of quality
    • Performed the duties of a server administrator
    • Provided innovative, cost-saving IT solutions to business problems
    • Technologies used: Enterprise Java, MySQL, Adobe Flex, HTML/CSS/JS

  • R&D Software Developer, MDA Systems Ltd., Richmond, BC May 2010 - August 2010
    • Optimized critical code paths to meet client expectations
    • Developed data visualization tools
    • Obtained Canadian security clearance
    • Improved performance of key C++/OpenGL visualization application by a factor of 10-20x for government customer
    • Technologies used: Enterprise Java, Visual Studio, C++, OpenGL

  • Software Developer, The Economical Insurance Group, Waterloo, ON September 2009 - December 2009
    • Worked on a team dedicated to improving brokers' connectivity with the organization
    • Created daily-run processes for filtering documents from the print stream and redirecting them to PDF
    • Used industry-standard technologies in addition to working closely with a vendor of proprietary tools for interacting with Xerox print streams
    • Technologies used: Enterprise Java, Spring framework, Perl, Python, Crawford Technologies PRO tools

  • Software Developer, TutorJam, Waterloo, ON January 2009 - April 2009
    • Worked on a web portal for online educational services in Enterprise Java, specifically class scheduling, customer payment, employee payout, time tracking and session management
    • Improved sales team efficiency and customer experience with user interface changes to internal and external facing web portal
    • Spearheaded development of a brand-new web-based multimedia conferencing system that runs inside the browser, specifically two-way audio, video and a shared whiteboard
    • Technologies used: Enterprise Java, MySQL, Adobe Flex, Red5 Media Server, HTML/CSS/JS, Chase PaymenTech and Cybersource payment gateways

  • Junior Developer, Baldhead Systems, Toronto, ON January 2008 - April 2008
    • Designed, presented and implemented client-server digital signage solution for restaurants and bars
    • Worked directly with a wide assortment of clients
    • Technologies used: PHP, MySQL, C#/.NET, HTML/CSS/JS, Visual Studio, Windows Presentation Foundations, DirectShow

EDUCATION

  • Bachelor of Mathematics, University of Waterloo, Waterloo, ON


  • Ontario Secondary School Diploma, Crestwood Preparatory College, Toronto, ON

AWARDS AND RECOGNITIONS